﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BusinessLayer.Interface;
using BusinessLayer.Facade;
using EntityLayer;
using System.Drawing;
namespace PresentationLayer
{
    public partial class WebForm5 : System.Web.UI.Page
    {
        private String msg, titulo;
      //  private static String RutaExcel = "";
        private clsIFacadeActualizarLegajoJudicial IlegajoActualizar;
        private clsIFacadeAsignacionAbogado objPrelegajo;
        private String op = "I";
      
        private T_Legajo objT_Legajo;
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!IsPostBack)
                {
                    if (Session["op"] == null)
                    {
                        //Session["ingresar"] = false;
                        //Session["msg"] = "No existe opción para el procedimiento.";
                        //Session["titulo"] = "Mensaje";
                        Response.Redirect("wfrmLegajoJudicialListar.aspx", false);
                        return;
                    }
                    else
                    { 
                        //dtp_FechaIngreso.Text = DateTime.Now.ToShortDateString();
                        //dtp_FechaFormulada.Text = DateTime.Now.ToShortDateString();
                        //dtp_FechaAdmitida.Text = DateTime.Now.ToShortDateString();
                        //dtp_FechaDemanda.Text = DateTime.Now.ToShortDateString();
                        //dtp_FechaDoc.Text = DateTime.Now.ToShortDateString();
                        //dtp_FechaPublicacion.Text = DateTime.Now.ToShortDateString();
                        Session["TipoDeman"] = "Entidad SC";

                        CargarProcesos();
                     CargarDistritoJudicial();
                       CargarDepartamento();
                      CargarCargos();
                        CargarEstados();
                      ////////  CargarEtapas();
                    CargarMoneda();
                      CargarTipoDocumento();
                    CargarSituaciones("05");
                      ////// // CargarNU_resolucion_Prelegajo();

                        op = Session["op"].ToString();
                        if (op == "I")
                        {
                            btnBuscarPrelegajo.Enabled = true;
                           
                        }
                        else if (op == "M" || op=="C")
                        {
                            if (!ObtenerDatos())
                            {
                                Response.Redirect("wfrmLegajoJudicialListar.aspx", false);
                                return;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                titulo = "Page_Load";
                MostrarComentario(ex.Message, titulo);
            }
        }

        protected void cbo_Procesos_SelectedIndexChanged(object sender, EventArgs e)
        {
            string CO_proceso = cbo_Procesos.SelectedItem.Value.ToString();
            CargarTipoProceso_por_Proceso(CO_proceso);
            
        }

        protected void cbo_Departamento_SelectedIndexChanged(object sender, EventArgs e)
        {
            string co_departamento = cbo_Departamento.SelectedItem.Value.ToString();
            CargarProvincia_por_Depart(co_departamento);
        }

        protected void cbo_Provincia_SelectedIndexChanged(object sender, EventArgs e)
        {
            string co_provincia = cbo_Provincia.SelectedItem.Value.ToString();
            CargarDistrito_por_Provinc(co_provincia);
        }

        //protected void cbo_Etapas_SelectedIndexChanged(object sender, EventArgs e)
        //{
        //    string co_etapas = cbo_Etapas.SelectedItem.Value.ToString();
        //    //CargarSituaciones_por_Etapa(co_etapas);
        //}

        //protected void cbo_Nu_resolucion_prelegajo_SelectedIndexChanged(object sender, EventArgs e)
        //{
        //    string NU_resolucion = cbo_Nu_resolucion_prelegajo.SelectedItem.Value.ToString();
        //    ObtenerDatos_Prelegajo(NU_resolucion);
        //}
        
        //protected void rbo_Entidad_CheckedChanged(object sender, EventArgs e)
        //{
        //    if (rbo_Entidad.Checked == true)
        //    {
        //        rbo_PNatural.Checked = false;
        //        rbo_Otros.Checked = false;
        //        txt_TDemand.Text = "";
        //        Session["TipoDeman"] = "Entidad SC";
        //    }
        //}

        //protected void rbo_PNatural_CheckedChanged(object sender, EventArgs e)
        //{
        //    if (rbo_PNatural.Checked == true)
        //    {
        //        rbo_Entidad.Checked = false;
        //        rbo_Otros.Checked = false;
        //        txt_TDemand.Text = "";
        //        Session["TipoDeman"] = "Pers. Natural";
        //    }
        //}

        //protected void rbo_Otros_CheckedChanged(object sender, EventArgs e)
        //{
        //    if (rbo_Otros.Checked == true)
        //    {
        //        rbo_Entidad.Checked = false;
        //        rbo_PNatural.Checked = false;
        //        txt_TDemand.Text = "";
        //        Session["TipoDeman"] = "Otra Entidad";
        //    }
        //}

        protected void btn_Cancelar_Click(object sender, EventArgs e)
        {
            Response.Redirect("wfrmLegajoJudicialListar.aspx", true);
        }

        protected void Btn_GrabarPrelegajo_Click(object sender, EventArgs e)
        {
          //  Popup_confirmar_grabar.ShowOnPageLoad = true;
          //  Grabar();
            GrabarLegajo();
        }

        protected void btn_AceptarGrabar_Click(object sender, EventArgs e)
        {
            //Grabar();
            //Response.Redirect("wfrmLegajoJudicialListar.aspx", false);
        }

        protected void btn_CancelarGrabar_Click(object sender, EventArgs e)
        {
           // Popup_confirmar_grabar.ShowOnPageLoad = false;
        }

        #region Metodos
        private void CargarProcesos()
        {
            try
            {
                IEnumerable<Object> listarProceso = null;
                listarProceso = new List<Object>();

                IlegajoActualizar = new clsFacadeActualizarLegajoJudicial();
                listarProceso = IlegajoActualizar.listarProceso();
                
                cbo_Procesos.DataSource = listarProceso;
                cbo_Procesos.ValueField = "CO_proceso";
                cbo_Procesos.TextField = "VR_proceso";
                cbo_Procesos.DataBind();
                cbo_Procesos.SelectedIndex = 0;
                CargarTipoProceso_por_Proceso(cbo_Procesos.SelectedItem.Value.ToString());

                if (listarProceso == null || listarProceso.Count() == 0) { MostrarComentario("No existen datos para Tipos de procesos."); return; }
            }
            catch (Exception ex)
            {
                MostrarComentario(ex.Message, "CargarTipoProceso");
            }
        }
        private void genera_nrodeLegajo()
        {
            try
            {
                List<sp_Genera_nrodeLegajo> listar_genera_nrodeLegajo = null;
                listar_genera_nrodeLegajo = new List<sp_Genera_nrodeLegajo>();

                IlegajoActualizar = new clsFacadeActualizarLegajoJudicial();
                listar_genera_nrodeLegajo = IlegajoActualizar.listar_genera_nrodeLegajo();

                if (listar_genera_nrodeLegajo == null || listar_genera_nrodeLegajo.Count() == 0) { MostrarComentario("No existen datos para Tipos de procesos."); return; }

                foreach (var s in listar_genera_nrodeLegajo)
                {

                    string CodigoLegajo = "";
                    string Anio = DateTime.Now.Year.ToString();
                    CodigoLegajo = cbo_TipoProceso.Value.ToString() + Anio + s.CO_legajo; ;

                    txtNumeroLegajo.Text = CodigoLegajo;
                }
            }
            catch (Exception ex)
            {
                MostrarComentario(ex.Message, "CargarTipoProceso");
            }
        }
        private void CargarTipoProceso_por_Proceso(string CO_proceso)
        {
            try
            {
                IEnumerable<Object> listarTipoProceso_por_Proceso = null;
                listarTipoProceso_por_Proceso = new List<Object>();

                IlegajoActualizar = new clsFacadeActualizarLegajoJudicial();
                listarTipoProceso_por_Proceso = IlegajoActualizar.listarTipoProceso_por_Proceso(CO_proceso);

                cbo_TipoProceso.DataSource = listarTipoProceso_por_Proceso;
                cbo_TipoProceso.ValueField = "CO_tipoproceso";
                cbo_TipoProceso.TextField = "VR_tipoproceso";
                cbo_TipoProceso.DataBind();
                cbo_TipoProceso.SelectedIndex = 0;

                if (listarTipoProceso_por_Proceso == null || listarTipoProceso_por_Proceso.Count() == 0) { MostrarComentario("No existen datos para Tipos de procesos."); return; }
            }
            catch (Exception ex)
            {
                MostrarComentario(ex.Message, "CargarTipoProceso");
            }
        }
        private void CargarDistritoJudicial()
        {
            try
            {
                IEnumerable<Object> listarDistritoJudicial = null;
                listarDistritoJudicial = new List<Object>();

                IlegajoActualizar = new clsFacadeActualizarLegajoJudicial();
                listarDistritoJudicial = IlegajoActualizar.listarDistritoJudicial();
                
                cbo_DistritoJudicial.DataSource = listarDistritoJudicial;
                cbo_DistritoJudicial.ValueField = "CO_distJudicial";
                cbo_DistritoJudicial.TextField = "VR_descripdist";
                cbo_DistritoJudicial.DataBind();
              //  cbo_DistritoJudicial.SelectedIndex = 0;

                if (listarDistritoJudicial == null || listarDistritoJudicial.Count() == 0) { MostrarComentario("No existen datos para Tipos de procesos."); return; }
            }
            catch (Exception ex)
            {
                MostrarComentario(ex.Message, "CargarTipoProceso");
            }
        }
        private void CargarDepartamento()
        {
            try
            {
                IEnumerable<Object> listarDepartamento = null;
                listarDepartamento = new List<Object>();

                IlegajoActualizar = new clsFacadeActualizarLegajoJudicial();
                listarDepartamento = IlegajoActualizar.listarDepartamento();
                
                cbo_Departamento.DataSource = listarDepartamento;
                cbo_Departamento.ValueField = "CO_departamento";
                cbo_Departamento.TextField = "VR_departamento";
                cbo_Departamento.DataBind();
                cbo_Departamento.SelectedIndex = 14;
                CargarProvincia_por_Depart(cbo_Departamento.SelectedItem.Value.ToString());

                if (listarDepartamento == null || listarDepartamento.Count() == 0) { MostrarComentario("No existen datos para Tipos de procesos."); return; }
            }
            catch (Exception ex)
            {
                MostrarComentario(ex.Message, "CargarTipoProceso");
            }
        }
        private void CargarProvincia_por_Depart(string co_departamento)
        {
            try
            {
                IEnumerable<Object> listarProvincia_por_Depart = null;
                listarProvincia_por_Depart = new List<Object>();

                IlegajoActualizar = new clsFacadeActualizarLegajoJudicial();
                listarProvincia_por_Depart = IlegajoActualizar.listarProvincia_por_Depart(co_departamento);
                
                cbo_Provincia.DataSource = listarProvincia_por_Depart;
                cbo_Provincia.ValueField = "CO_provincia";
                cbo_Provincia.TextField = "VR_provincia";
                cbo_Provincia.DataBind();
                cbo_Provincia.SelectedIndex = 7;

                if (listarProvincia_por_Depart.Count() == 0)
                {
                    cbo_Distrito.Items.Clear();
                    cbo_Distrito.Text = "";
                }
                else
                {
                    CargarDistrito_por_Provinc(cbo_Provincia.SelectedItem.Value.ToString());
                }

                if (listarProvincia_por_Depart == null || listarProvincia_por_Depart.Count() == 0) { MostrarComentario("No existen datos para Tipos de procesos."); return; }
            }
            catch (Exception ex)
            {
                MostrarComentario(ex.Message, "CargarTipoProceso");
            }
        }
        private void CargarDistrito_por_Provinc(string co_provincia)
        {
            try
            {
                IEnumerable<Object> listarDistrito_por_Provincia = null;
                listarDistrito_por_Provincia = new List<Object>();

                IlegajoActualizar = new clsFacadeActualizarLegajoJudicial();
                listarDistrito_por_Provincia = IlegajoActualizar.listarDistrito_por_Provincia(co_provincia);
                
                cbo_Distrito.DataSource = listarDistrito_por_Provincia;
                cbo_Distrito.ValueField = "CO_distrito";
                cbo_Distrito.TextField = "VR_distrito";
                cbo_Distrito.DataBind();
                cbo_Distrito.SelectedIndex = 14;

                if (listarDistrito_por_Provincia == null || listarDistrito_por_Provincia.Count() == 0) { MostrarComentario("No existen datos para Tipos de procesos."); return; }
            }
            catch (Exception ex)
            {
                MostrarComentario(ex.Message, "CargarTipoProceso");
            }
        }
        private void CargarCargos()
        {
            try
            {
                IEnumerable<Object> listarCargos = null;
                listarCargos = new List<Object>();

                IlegajoActualizar = new clsFacadeActualizarLegajoJudicial();
                listarCargos = IlegajoActualizar.listarCargos();
                
                cbo_Cargos.DataSource = listarCargos;
                cbo_Cargos.ValueField = "CO_cargo";
                cbo_Cargos.TextField = "NO_Cargo";
                cbo_Cargos.DataBind();
                cbo_Cargos.SelectedIndex = 0;

                if (listarCargos == null || listarCargos.Count() == 0) { MostrarComentario("No existen datos para Tipos de procesos."); return; }
            }
            catch (Exception ex)
            {
                MostrarComentario(ex.Message, "CargarTipoProceso");
            }
        }
        private void CargarEstados()
        {
            try
            {
                IEnumerable<Object> listarEstado_tabla_1 = null;
                listarEstado_tabla_1 = new List<Object>();

                IlegajoActualizar = new clsFacadeActualizarLegajoJudicial();
                listarEstado_tabla_1 = IlegajoActualizar.listarEstado_tabla_1();
                
                cbo_Estados.DataSource = listarEstado_tabla_1;
                cbo_Estados.ValueField = "CO_estado";
                cbo_Estados.TextField = "VR_estado";
                cbo_Estados.DataBind();
                cbo_Estados.SelectedIndex = 0;

                if (listarEstado_tabla_1 == null || listarEstado_tabla_1.Count() == 0) { MostrarComentario("No existen datos para Tipos de procesos."); return; }
            }
            catch (Exception ex)
            {
                MostrarComentario(ex.Message, "CargarTipoProceso");
            }
        }
        //private void CargarEtapas()
        //{
        //    try
        //    {
        //        IEnumerable<Object> listarEtapas = null;
        //        listarEtapas = new List<Object>();

        //        IlegajoActualizar = new clsFacadeActualizarLegajoJudicial();
        //        listarEtapas = IlegajoActualizar.listarEtapas();

        //        cbo_Etapas.DataSource = listarEtapas;
        //        cbo_Etapas.ValueField = "CO_etapas";
        //        cbo_Etapas.TextField = "VR_etapas";
        //        cbo_Etapas.DataBind();
        //        cbo_Etapas.SelectedIndex = 0;
        //        CargarSituaciones_por_Etapa(cbo_Etapas.SelectedItem.Value.ToString());

        //        if (listarEtapas == null || listarEtapas.Count() == 0) { MostrarComentario("No existen datos para Tipos de procesos."); return; }
        //    }
        //    catch (Exception ex)
        //    {
        //        MostrarComentario(ex.Message, "CargarTipoProceso");
        //    }
        //}
        private void CargarSituaciones(string co_etapas)
        {
            try
            {
                IEnumerable<Object> listarSituaciones_por_Etapa = null;
                listarSituaciones_por_Etapa = new List<Object>();

                IlegajoActualizar = new clsFacadeActualizarLegajoJudicial();
                listarSituaciones_por_Etapa = IlegajoActualizar.listarSituaciones_por_Etapa(co_etapas);

                cbo_Situaciones.DataSource = listarSituaciones_por_Etapa;
                cbo_Situaciones.ValueField = "CO_situaciones";
                cbo_Situaciones.TextField = "NO_situacion";
                cbo_Situaciones.DataBind();
                cbo_Situaciones.SelectedIndex = 0;

                //if (listarSituaciones_por_Etapa == null || listarSituaciones_por_Etapa.Count() == 0)
                //{
                //    MostrarComentario("No existen datos para Situaciones de la ETAPA." + cbo_Etapas.SelectedItem.Text.ToString());
                //    return;
                //}
            }
            catch (Exception ex)
            {
                MostrarComentario(ex.Message, "CargarTipoProceso");
            }
        }
        private void CargarMoneda()
        {
            try
            {
                IEnumerable<Object> listarMoneda = null;
                listarMoneda = new List<Object>();

                IlegajoActualizar = new clsFacadeActualizarLegajoJudicial();
                listarMoneda = IlegajoActualizar.listarMoneda();
                
                cbo_Moneda.DataSource = listarMoneda;
                cbo_Moneda.ValueField = "CO_moneda";
                cbo_Moneda.TextField = "VR_moneda";
                cbo_Moneda.DataBind();
                cbo_Moneda.SelectedIndex = 0;

                if (listarMoneda == null || listarMoneda.Count() == 0) { MostrarComentario("No existen datos para Tipos de procesos."); return; }
            }
            catch (Exception ex)
            {
                MostrarComentario(ex.Message, "CargarTipoProceso");
            }
        }
        private void CargarTipoDocumento()
        {
            try
            {
                IEnumerable<Object> listarTipoDocumento = null;
                listarTipoDocumento = new List<Object>();

                IlegajoActualizar = new clsFacadeActualizarLegajoJudicial();
                listarTipoDocumento = IlegajoActualizar.listarTipoDocumento();
                
                cbo_TipoDoc.DataSource = listarTipoDocumento;
                cbo_TipoDoc.ValueField = "CO_tipo_Doc";
                cbo_TipoDoc.TextField = "NO_tipo_Documento";
                cbo_TipoDoc.DataBind();
                cbo_TipoDoc.SelectedIndex = 0;

                if (listarTipoDocumento == null || listarTipoDocumento.Count() == 0) { MostrarComentario("No existen datos para Tipos de procesos."); return; }
            }
            catch (Exception ex)
            {
                MostrarComentario(ex.Message, "CargarTipoProceso");
            }
        }
        //private void CargarNU_resolucion_Prelegajo()
        //{
        //    try
        //    {
        //        IEnumerable<Object> listarPreLegajo = null;
        //        listarPreLegajo = new List<Object>();

        //        IlegajoActualizar = new clsFacadeActualizarLegajoJudicial();
        //        listarPreLegajo = IlegajoActualizar.listarPreLegajo();

        //        cbo_Nu_resolucion_prelegajo.DataSource = listarPreLegajo;
        //        cbo_Nu_resolucion_prelegajo.ValueField = "NU_resolucion";
        //        cbo_Nu_resolucion_prelegajo.TextField = "NU_resolucion";
        //        cbo_Nu_resolucion_prelegajo.DataBind();
        //        cbo_Nu_resolucion_prelegajo.SelectedIndex = 0;
        //        ObtenerDatos_Prelegajo(cbo_Nu_resolucion_prelegajo.SelectedItem.Value.ToString());

        //        if (listarPreLegajo == null || listarPreLegajo.Count() == 0) { MostrarComentario("No existen datos para Tipos de procesos."); return; }
        //    }
        //    catch (Exception ex)
        //    {
        //        MostrarComentario(ex.Message, "CargarTipoProceso");
        //    }
        //}
        private void ObtenerDatos_Prelegajo(string NU_resolucion)
        {
            try
            {
                List<T_Prelegajo> listarLegajoNU_Resol = null;
                listarLegajoNU_Resol = new List<T_Prelegajo>();

                IlegajoActualizar = new clsFacadeActualizarLegajoJudicial();
                listarLegajoNU_Resol = IlegajoActualizar.listarLegajoNU_Resol(NU_resolucion);
                if (listarLegajoNU_Resol[0].CO_persona == "00")
                {
                    MostrarComentario("PreLegano no tiene Asignado un Abogado. Por favor Asignar Abogado");
                    return;
                }
                else
                {
                    //CargarProcesos();
                    CargarDistritoJudicial();
                    CargarDepartamento();
                    CargarCargos();
                    CargarSituaciones("05");
                    //CargarEstados();
                    //  CargarEtapas();
                    CargarMoneda();
                    CargarTipoDocumento();
                    // CargarNU_resolucion_Prelegajo();
                }

                dtp_FechaResolucion_Prelegajo.Value = listarLegajoNU_Resol[0].FE_resolucion;
                cbo_Procesos.Value = listarLegajoNU_Resol[0].T_TipoProceso.CO_proceso;
                cbo_TipoProceso.Value = listarLegajoNU_Resol[0].CO_tipoproceso;
                cbo_TipoProceso.Enabled = false;
                cbo_Procesos.Enabled = false;
                cbo_Cargos.Value = listarLegajoNU_Resol[0].T_Persona.CO_cargo;
                cbo_Departamento.Value = listarLegajoNU_Resol[0].T_Entidad.CO_departamento;
                CargarProvincia_por_Depart(cbo_Departamento.Value.ToString());
                cbo_Provincia.Value = listarLegajoNU_Resol[0].T_Entidad.CO_provincia;
                CargarDistrito_por_Provinc(cbo_Provincia.Value.ToString());
                cbo_Distrito.Value = listarLegajoNU_Resol[0].T_Entidad.CO_distrito;
                if (listarLegajoNU_Resol[0].T_TipoProceso.CO_TipoDemandante==1)
                {
                    txt_TDemand.Text = "CGR";
                    lblDemandante.Text = "Demandante :";
                    
                    cbo_Departamento.Enabled = false;
                    cbo_Provincia.Enabled=false;
                    cbo_Distrito.Enabled = false;
                    txt_TDemand.Enabled = false;
                }
                else if (listarLegajoNU_Resol[0].T_TipoProceso.CO_TipoDemandante == 2)
                {
                    txt_TDemand.Text = "Escribir Nombre de Persona Natural";
                    lblDemandante.Text = "Demandado :";
                    cbo_Departamento.Enabled = true;
                    cbo_Provincia.Enabled = true;
                    cbo_Distrito.Enabled = true;
                    txt_TDemand.Enabled = true;
                }
                else if (listarLegajoNU_Resol[0].T_TipoProceso.CO_TipoDemandante == 3)
                {
                    txt_TDemand.Text = "CGR/Terceros";
                    lblDemandante.Text = "CGR/Terceros";
                    cbo_Departamento.Enabled = true;
                    cbo_Provincia.Enabled = true;
                    cbo_Distrito.Enabled = true;
                    txt_TDemand.Enabled = true;
                }
                
                   
                txtAbogado.Text = listarLegajoNU_Resol[0].CO_persona + ": " + listarLegajoNU_Resol[0].T_Persona.VR_nombrepersona;
                txtEntidad.Text = listarLegajoNU_Resol[0].T_Entidad.no_Entidad;
                
                genera_nrodeLegajo();

                if (listarLegajoNU_Resol == null || listarLegajoNU_Resol.Count() == 0) { MostrarComentario("No existen datos para Tipos de procesos."); return; }
            }
            catch (Exception ex)
            {
                MostrarComentario(ex.Message, "CargarTipoProceso");
            }
        }
        private void MostrarComentario(String msg, String titulo = "Mensaje")
        {
            lblMensaje.Text = msg;
            pcMensaje.HeaderText = titulo;
            pcMensaje.ShowOnPageLoad = true;
        }
        private void MostrarComentario1(String msg, String titulo = "Mensaje")
        {
            lblMensaje1.Text = msg;
            pcMensaje1.HeaderText = titulo;
            pcMensaje1.ShowOnPageLoad = true;
        }
        private void GrabarLegajo()
        {
            Boolean ok = true;
            msg = String.Empty;
            try
            {
                IlegajoActualizar = new clsFacadeActualizarLegajoJudicial();
                objT_Legajo = new T_Legajo();

                if (ok)
                {
                    objT_Legajo.CO_legajo = txtNumeroLegajo.Text;
                    objT_Legajo.CO_tipoproceso = cbo_TipoProceso.Value.ToString();
                    objT_Legajo.FE_ingreso = Convert.ToDateTime(dtp_FechaIngreso.Text);
                    objT_Legajo.CO_distJudicial = cbo_DistritoJudicial.Value.ToString();
                    //if (Session["TipoDeman"].ToString() == "")
                    //{
                    //    objT_Legajo.VR_tipodemandante = txt_TDemand.Text;
                    //}
                    //else
                    //{
                    //    objT_Legajo.VR_tipodemandante = Session["TipoDeman"].ToString();
                    //}
                    objT_Legajo.VR_tipodemandante = txt_TDemand.Text;
                    objT_Legajo.TX_agraviado = txt_TDemand.Text;
                    objT_Legajo.CO_distrito = cbo_Distrito.Value.ToString();
                    objT_Legajo.CO_cargo = cbo_Cargos.Value.ToString();
                    objT_Legajo.CO_estado = cbo_Estados.SelectedItem.Value.ToString();
                    objT_Legajo.CO_situaciones = cbo_Situaciones.Value.ToString();
                    objT_Legajo.CO_moneda = cbo_Moneda.Value.ToString();
                    objT_Legajo.QT_petirorio = Decimal.Parse(txt_MontoPetitorio.Text);
                    objT_Legajo.QT_montoautorizado = Decimal.Parse(txt_MontoAutorizado.Text);
                    objT_Legajo.FE_formulada = Convert.ToDateTime(dtp_FechaFormulada.Text);
                    objT_Legajo.FE_admitida = Convert.ToDateTime(dtp_FechaAdmitida.Text);
                    objT_Legajo.FE_constdemanda = Convert.ToDateTime(dtp_FechaDemanda.Text);
                    objT_Legajo.CO_tipo_Doc = cbo_TipoDoc.Value.ToString();
                    objT_Legajo.NU_documento = txt_NroDoc.Text;
                    objT_Legajo.FE_documento = Convert.ToDateTime(dtp_FechaDoc.Text);
                    objT_Legajo.TX_informeespecial_c1 = txt_InformeEspecial_c1.Text;
                    objT_Legajo.TX_informeespecial_c2 = txt_InformeEspecial_c2.Text;
                    objT_Legajo.NU_Prelegajo = txtNuLegajo.Text;
                    objT_Legajo.FE_resolucion = Convert.ToDateTime(dtp_FechaResolucion_Prelegajo.Text);
                    objT_Legajo.FE_publicacion = Convert.ToDateTime(dtp_FechaPublicacion.Text);

                    op = Session["op"].ToString();

                    ok = IlegajoActualizar.ActualizarLegajo(objT_Legajo, op);

                    if (op == "I")
                    { 
                        msg = (!ok) ? "Ocurrió un error al registrar el Legajo." : "Se registró el Legajo correctamente."; 
                    }
                    else if (op == "M") 
                    { 
                        msg = (!ok) ? "Ocurrió un error al actualizar el Legajo" : "Se actualizó el Legajo correctamente."; 
                    }
                   
                  //  Popup_confirmar_grabar.ShowOnPageLoad = false;
                }
            }
            catch (Exception ex)
            {
                ok = false;
                msg = (ex.InnerException == null) ? ex.Message : ex.InnerException.Message;
            }
           if (ok) 
           { 
               MostrarComentario1(msg, "GrabarPreLegajo");
              // Response.Redirect("wfrmLegajoJudicialListar.aspx", true);
           } 
           else 
           { 
               MostrarComentario(msg);
           }
          
        }
        private Boolean ObtenerDatos()
        {
            Boolean ok = true;
            msg = String.Empty;
            try
            {
                if (Session["coLegajo"] == null) { ok = false; msg = "No existe el código del Legajo"; }
                if (ok)
                {
                    txtNumeroLegajo.ReadOnly = true;
                    
                    String coLegajo = Session["coLegajo"].ToString();
                    IlegajoActualizar = new clsFacadeActualizarLegajoJudicial();

                    List<V_legajos_obtener_Codigos> V_legajos_obtener_Codigos = null;
                    V_legajos_obtener_Codigos = new List<V_legajos_obtener_Codigos>();
                    V_legajos_obtener_Codigos = IlegajoActualizar.V_legajos_obtener_Codigos(coLegajo);


                    List<V_legajos_obtener_Nombres> V_legajos_obtener_Nombres = null;
                    V_legajos_obtener_Nombres = new List<V_legajos_obtener_Nombres>();
                    V_legajos_obtener_Nombres = IlegajoActualizar.V_legajos_obtener_Nombres(coLegajo);

                    if (V_legajos_obtener_Codigos == null || V_legajos_obtener_Codigos.Count() == 0 ||
                        V_legajos_obtener_Nombres.Count() == 0 || V_legajos_obtener_Nombres.Count() == 0)
                    {
                        ok = false;
                        msg = "No existen datos para el legajo seleccionado";
                    }

                    if (ok)
                    {
                        txtNumeroLegajo.Text = V_legajos_obtener_Nombres[0].CO_legajo;
                        txtNumeroLegajo.Enabled = false;
                        txtNuLegajo.Enabled = false;
                        btnBuscarPrelegajo.Enabled = false;
                        cbo_Procesos.Text = V_legajos_obtener_Nombres[0].VR_proceso;

                        //Carga Tipo de Proceso
                        CargarTipoProceso_por_Proceso(V_legajos_obtener_Codigos[0].CO_proceso);

                        cbo_TipoProceso.Value = V_legajos_obtener_Codigos[0].CO_tipoproceso;
                        dtp_FechaIngreso.Value = V_legajos_obtener_Nombres[0].FE_ingreso;
                        cbo_DistritoJudicial.Value = V_legajos_obtener_Codigos[0].CO_distJudicial;
                        //lblMensaje.Text = V_legajos_obtener_Nombres[0].VR_tipodemandante;
                        //if (V_legajos_obtener_Nombres[0].VR_tipodemandante == "Entidad SC"){ rbo_Entidad.Checked = true; }
                        //else if (V_legajos_obtener_Nombres[0].VR_tipodemandante == "Pers. Natural"){ rbo_PNatural.Checked = true; }
                        //else if (V_legajos_obtener_Nombres[0].VR_tipodemandante == "Otra Entidad"){ rbo_Otros.Checked = true; }

                        txt_TDemand.Text = V_legajos_obtener_Nombres[0].TX_agraviado;

                        cbo_Departamento.Value = V_legajos_obtener_Codigos[0].CO_departamento;
                        //Lista Las Provincias del departamento seleccionado
                        CargarProvincia_por_Depart(V_legajos_obtener_Codigos[0].CO_departamento);

                        cbo_Provincia.Value = V_legajos_obtener_Codigos[0].CO_provincia;
                        //Lista Los Distrintos de la Provincia  seleccionado
                        CargarDistrito_por_Provinc(V_legajos_obtener_Codigos[0].CO_provincia);

                        cbo_Distrito.Value = V_legajos_obtener_Codigos[0].CO_distrito;
                        cbo_Cargos.Value = V_legajos_obtener_Codigos[0].CO_cargo;
                        cbo_Estados.Value = V_legajos_obtener_Codigos[0].CO_estado;

                        //cbo_Etapas.Text = V_legajos_obtener_Nombres[0].VR_etapas;
                        //Lista Las Situaciones de la Etapa seleccionado
                       // CargarSituaciones_por_Etapa(V_legajos_obtener_Codigos[0].CO_etapas);

                        cbo_Situaciones.Value = V_legajos_obtener_Codigos[0].CO_situaciones;
                        cbo_Moneda.Value = V_legajos_obtener_Codigos[0].CO_moneda;

                        txt_MontoPetitorio.Text = V_legajos_obtener_Nombres[0].QT_petirorio.ToString();
                        txt_MontoAutorizado.Text = V_legajos_obtener_Nombres[0].QT_montoautorizado.ToString();
                        dtp_FechaFormulada.Value = V_legajos_obtener_Nombres[0].FE_formulada;
                        dtp_FechaAdmitida.Value = V_legajos_obtener_Nombres[0].FE_admitida;
                        dtp_FechaDemanda.Value = V_legajos_obtener_Nombres[0].FE_constdemanda;
                        cbo_TipoDoc.Value = V_legajos_obtener_Codigos[0].CO_tipo_Doc;
                        txt_NroDoc.Text = V_legajos_obtener_Nombres[0].NU_documento;
                        dtp_FechaDoc.Value = V_legajos_obtener_Nombres[0].FE_documento;
                        txt_InformeEspecial_c1.Text = V_legajos_obtener_Nombres[0].TX_informeespecial_c1;
                        txt_InformeEspecial_c2.Text = V_legajos_obtener_Nombres[0].TX_informeespecial_c2;
                        txtNuLegajo.Text = V_legajos_obtener_Nombres[0].NU_Prelegajo;
                        dtp_FechaResolucion_Prelegajo.Value = V_legajos_obtener_Nombres[0].FE_resolucion;
                        dtp_FechaPublicacion.Value = V_legajos_obtener_Nombres[0].FE_publicacion;
                     //   ObtenerDatos_Prelegajo(txtNuLegajo.Text);
                    }

                    if (Session["op"].ToString() == "C")
                    {
                        Btn_GrabarPrelegajo.Enabled = false;
                    }
                    else
                    {
                        Btn_GrabarPrelegajo.Enabled = true;
                    }

                }
            }
            catch (Exception ex)
            {
                ok = false;
                titulo = "ObtenerDatos";
                MostrarComentario(ex.Message, titulo);
            }
            if (!ok)
            {
                Session["ingresar"] = ok;
                Session["msg"] = msg;
            }
            return ok;
        }
        #endregion

        protected void btnAceptar_Click1(object sender, EventArgs e)
        {
            Response.Redirect("wfrmLegajoJudicialListar.aspx", true);
        }


        protected void btnSeleccionar_Click(object sender, EventArgs e)
        {
                int index = dgPrelegajo.FocusedRowIndex;
                String nu_prelegajo = dgPrelegajo.GetRowValues(index, "NU_Prelegajo").ToString();
                txtNuLegajo.Text = nu_prelegajo;
                ObtenerDatos_Prelegajo(txtNuLegajo.Text);
        }

        private void BuscarPrelegajo()
        {
            try
            {
                IEnumerable<Object> lista = null;
                lista = new List<Object>();
                objPrelegajo = new clsFacadeAsignarAbogado();
                lista = objPrelegajo.listarPreLegajoAbogado();
                dgPrelegajo.DataSource = lista;
                dgPrelegajo.DataBind();
                pcBuscar.ShowOnPageLoad = true;
            }
            catch (Exception ex)
            {

                MostrarComentario(ex.Message, "Error");
            }

        }

        protected void btnBuscarPrelegajo_Click(object sender, EventArgs e)
        {
            BuscarPrelegajo();
            genera_nrodeLegajo();

        }

        protected void dgPrelegajo_AfterPerformCallback(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewAfterPerformCallbackEventArgs e)
        {
            BuscarPrelegajo();
        }

        protected void dgPrelegajo_HeaderFilterFillItems(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewHeaderFilterEventArgs e)
        {
            BuscarPrelegajo();
        }

       
    }
}